import axios from '@/utils/http';
import base from './base';

export default {
  // 资源列表
  index(params) {
    return axios.get(
      `${base.sq}/products/${params.spaceId}/product_files`,
      {
        params: {
          type: params.type || ['ProductSnippet', 'ProductFolder', 'ProductLocalFile'],
          file_id: params.folderId, // 哪个目录
          page: params.page,
        },
      },
    );
  },
  // 资源列表快捷筛选标签和精品
  indexFilter(params) {
    return axios.get(
      `${base.sq}/products/${params.spaceId}/product_files/${params.folderId || 'root'}/filter`,
      {
        params: {
          page: params.page,
          tags: params.tags,
          is_good: params.good,
        },
      },
    );
  },
  // 资源展示
  show(params) {
    return axios.get(
      `${base.sq}/products/${params.spaceId}/product_files/${params.docId}`,
      {
        params: {
          type: params.type, // 当需要parentPath生成当前路径时，会请求目录的show
        },
      },
    );
  },
  // 创建目录
  createFolder(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/product_files/create_folder`,
      {
        title: params.title,
        parent_id: params.parentId,
      },
    );
  },
  // 删除资源
  delete(params) {
    return axios.delete(
      `${base.sq}/products/${params.spaceId}/product_files/${params.resourceId}`,
    );
  },
  // 设置资源列表的快捷标签筛选
  saveQuickTags(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/set_tag_list`,
      {
        tag_list: params.tags,
      },
    );
  },
  // 移动资源
  move(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/product_files/${params.resourceId}/move`,
      {
        file_id: params.folderId,
      },
    );
  },
  // 重命名目录
  renameFolder(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/product_files/${params.folderId}/rename`,
      {
        title: params.title, // 新的目录名
      },
    );
  },
  // 加精
  handleGood(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/product_files/${params.docId}/set_good`,
      {
        is_good: params.state,
      },
    );
  },
  // 核心
  handleCore(params) {
    return axios.post(
      `${base.sq}/products/${params.spaceId}/product_files/${params.docId}/set_core`,
      {
        is_core: params.state,
        file_id: params.folderId,
      },
    );
  },
};
